package com.young.msg.service;

import com.young.common.util.Page;
import com.young.msg.model.MailSenderConfig;

import java.util.List;

/**
 * 邮件发送客户端服务接口
 * Created by wangjiyu on 2021-10-28.
 */
public interface IMsgMailSenderConfigService {

    /**
     * 查询有效的邮箱配置
     *
     * @return
     */
    List<MailSenderConfig> getValidMailConfigList();

    /**
     * 查询
     *
     * @param obj
     * @return
     */
    List<MailSenderConfig> getList(MailSenderConfig obj);

    /**
     * 分页查询
     *
     * @param obj
     * @param page
     * @return
     */
    List<MailSenderConfig> getPage(MailSenderConfig obj, Page page);

    /**
     * 查询单条
     *
     * @param id
     * @return
     */
    MailSenderConfig get(Long id);

    /**
     * 根据标识查询邮箱配置
     *
     * @param senderCode 邮箱标识
     * @return
     */
    MailSenderConfig getBySenderCode(String senderCode);

    /**
     * 统计数量
     *
     * @param obj
     * @return Integer 满足xx条件的数据有多少条
     */
    int count(MailSenderConfig obj);

    /**
     * 修改
     *
     * @param obj
     * @return
     */
    int update(MailSenderConfig obj);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 批量删除
     *
     * @param idArr
     * @return
     */
    int delete(Long[] idArr);

    /**
     * 插入
     *
     * @param obj
     * @return
     */
    int insert(MailSenderConfig obj);

    /**
     * 批量插入
     *
     * @param list
     * @return
     */
    int batchInsert(List<MailSenderConfig> list);

}